14 research outputs found
Search-based Model-driven Loop Optimizations for Tensor Contractions
Complex tensor contraction expressions arise in accurate electronic structure models in quantum chemistry, such as the coupled cluster method. The Tensor Contraction Engine (TCE) is a high-level program synthesis system that facilitates the generation of high-performance parallel programs from tensor contraction equations. We are developing a new software infrastructure for the TCE that is designed to allow experimentation with optimization algorithms for modern computing platforms, including for heterogeneous architectures employing general-purpose graphics processing units (GPGPUs). In this dissertation, we present improvements and extensions to the loop fusion optimization algorithm, which can be used with cost models, e.g., for minimizing memory usage or for minimizing data movement costs under a memory constraint. We show that our data structure and pruning improvements to the loop fusion algorithm result in significant performance improvements that enable complex cost models being use for large input equations. We also present an algorithm for optimizing the fused loop structure of handwritten code. It determines the regions in handwritten code that are safe to be optimized and then runs the loop fusion algorithm on the dependency graph of the code. Finally, we develop an optimization framework for generating GPGPU code consisting of loop fusion optimization with a novel cost model, tiling optimization, and layout optimization. Depending on the memory available on the GPGPU and the sizes of the tensors, our framework decides which processor (CPU or GPGPU) should perform an operation and where the result should be moved. We present extensive measurements for tuning the loop fusion algorithm, for validating our optimization framework, and for measuring the performance characteristics of GPGPUs. Our measurements demonstrate that our optimization framework outperforms existing general-purpose optimization approaches both on multi-core CPUs and on GPGPUs
High-throughput ab initio reaction mechanism exploration in the cloud with automated multi-reference validation
Quantum chemical calculations on atomistic systems have evolved into a
standard approach to study molecular matter. These calculations often involve a
significant amount of manual input and expertise although most of this effort
could be automated, which would alleviate the need for expertise in software
and hardware accessibility. Here, we present the AutoRXN workflow, an automated
workflow for exploratory high-throughput lectronic structure calculations of
molecular systems, in which (i) density functional theory methods are exploited
to deliver minimum and transition-state structures and corresponding energies
and properties, (ii) coupled cluster calculations are then launched for
optimized structures to provide more accurate energy and property estimates,
and (iii) multi-reference diagnostics are evaluated to back check the coupled
cluster results and subject hem to automated multi-configurational calculations
for potential multi-configurational cases. All calculations are carried out in
a cloud environment and support massive computational campaigns. Key features
of all omponents of the AutoRXN workflow are autonomy, stability, and minimum
operator interference. We highlight the AutoRXN workflow at the example of an
autonomous reaction mechanism exploration of the mode of action of a
homogeneous catalyst for the asymmetric reduction of ketones.Comment: 29 pages, 11 figure
COMPOSE-HPC: A Transformational Approach to Exascale
The goal of the COMPOSE-HPC project is to 'democratize' tools for automatic transformation of program source code so that it becomes tractable for the developers of scientific applications to create and use their own transformations reliably and safely. This paper describes our approach to this challenge, the creation of the KNOT tool chain, which includes tools for the creation of annotation languages to control the transformations (PAUL), to perform the transformations (ROTE), and optimization and code generation (BRAID), which can be used individually and in combination. We also provide examples of current and future uses of the KNOT tools, which include transforming code to use different programming models and environments, providing tests that can be used to detect errors in software or its execution, as well as composition of software written in different programming languages, or with different threading patterns
Cavity Quantum Electrodynamics Complete Active Space Configuration Interaction Theory
Polariton chemistry has attracted great attention as a potential route to modify chemical structure, properties, and reactivity through strong interactions between molecular electronic, vibrational, or rovibrational degrees of freedom. A rigorous theoretical treatment of molecular polaritons requires the treatment of matter and photon degrees of freedom on equal quantum mechanical footing. In the limit of molecular electronic strong or ultrastrong coupling to one or a few molecules, it is desirable to treat the molecular electronic degrees of freedom using the tools of ab initio quantum chemistry, yielding an approach we refer to as ab initio cavity quantum electrodynamics, where the photon degrees of freedom are treated at the level of cavity quantum electrodynamics. Here, we present an approach called Cavity Quantum Electrodynamics Complete Active Space Configuration Interaction theory to provide ground- and excited-state polaritonic surfaces with a balanced description of strong correlation effects among electronic and photonic degrees of freedom. This method provides a platform for ab initio cavity quantum electrodynamics when both strong electron correlation and strong light-matter coupling are important, and is an important step towards computational approaches that yield multiple polaritonic potential energy surfaces and couplings that can be leveraged for {ab initio molecular dynamics simulations of polariton chemistry
TAMM: Tensor Algebra for Many-body Methods
Tensor contraction operations in computational chemistry consume significant
fractions of computing time on large-scale computing platforms. The widespread
use of tensor contractions between large multi-dimensional tensors in
describing electronic structure theory has motivated the development of
multiple tensor algebra frameworks targeting heterogeneous computing platforms.
In this paper, we present Tensor Algebra for Many-body Methods (TAMM), a
framework for productive and performance-portable development of scalable
computational chemistry methods. The TAMM framework decouples the specification
of the computation and the execution of these operations on available
high-performance computing systems. With this design choice, the scientific
application developers (domain scientists) can focus on the algorithmic
requirements using the tensor algebra interface provided by TAMM whereas
high-performance computing developers can focus on various optimizations on the
underlying constructs such as efficient data distribution, optimized scheduling
algorithms, efficient use of intra-node resources (e.g., GPUs). The modular
structure of TAMM allows it to be extended to support different hardware
architectures and incorporate new algorithmic advances. We describe the TAMM
framework and our approach to sustainable development of tensor
contraction-based methods in computational chemistry applications. We present
case studies that highlight the ease of use as well as the performance and
productivity gains compared to other implementations
Real-time equation-of-motion CC cumulant and CC Green's function simulations of photoemission spectra of water and water dimer
Newly developed coupled-cluster (CC) methods enable simulations of ionization
potentials and spectral functions of molecular systems in a wide range of
energy scales ranging from core-binding to valence. This paper discusses
results obtained with the real-time equation-of-motion CC cumulant approach
(RT-EOM-CC), and CC Green's function (CCGF) approaches in applications to the
water and water dimer molecules. We compare the ionization potentials obtained
with these methods for the valence region with the results obtained with the
CCSD(T) formulation as a difference of energies for N and N-1 electron systems.
All methods show good agreement with each other. They also agree well with
experiment, with errors usually below 0.1 eV for the ionization potentials. We
also analyze unique features of the spectral functions, associated with the
position of satellite peaks, obtained with the RT-EOM-CC and CCGF methods
employing single and double excitations, as a function of the monomer OH bond
length and the proton transfer coordinate in the dimer. Finally, we analyze the
impact of the basis set effects on the quality of calculated ionization
potentials and find that the basis set effects are less pronounced for the
augmented-type sets
Recommended from our members
COMPOSE-HPC: A Transformational Approach to Exascale
The goal of the COMPOSE-HPC project is to 'democratize' tools for automatic transformation of program source code so that it becomes tractable for the developers of scientific applications to create and use their own transformations reliably and safely. This paper describes our approach to this challenge, the creation of the KNOT tool chain, which includes tools for the creation of annotation languages to control the transformations (PAUL), to perform the transformations (ROTE), and optimization and code generation (BRAID), which can be used individually and in combination. We also provide examples of current and future uses of the KNOT tools, which include transforming code to use different programming models and environments, providing tests that can be used to detect errors in software or its execution, as well as composition of software written in different programming languages, or with different threading patterns
Recommended from our members
PluginPlay: Enabling exascale scientific software one module at a time
For many computational chemistry packages, being able to efficiently and effectively scale across an exascale cluster is a heroic feat. Collective experience from the Department of Energy's Exascale Computing Project suggests that achieving exascale performance requires far more planning, design, and optimization than scaling to petascale. In many cases, entire rewrites of software are necessary to address fundamental algorithmic bottlenecks. This in turn requires a tremendous amount of resources and development time, resources that cannot reasonably be afforded by every computational science project. It thus becomes imperative that computational science transition to a more sustainable paradigm. Key to such a paradigm is modular software. While the importance of modular software is widely recognized, what is perhaps not so widely appreciated is the effort still required to leverage modular software in a sustainable manner. The present manuscript introduces PluginPlay, https://github.com/NWChemEx-Project/PluginPlay, an inversion-of-control framework designed to facilitate developing, maintaining, and sustaining modular scientific software packages. This manuscript focuses on the design aspects of PluginPlay and how they specifically influence the performance of the resulting package. Although, PluginPlay serves as the framework for the NWChemEx package, PluginPlay is not tied to NWChemEx or even computational chemistry. We thus anticipate PluginPlay to prove to be a generally useful tool for a number of computational science packages looking to transition to the exascale